// 异步请求成功业务标识
var RES_CODE_SUCCESS = 0
var RES_CODE_ERR_LOGIN_VERIFY_STOP = 2007

// 服务入口
var URL_SERVER_ROOT = "http://127.0.0.1"

// 新建表单URL前缀
var URL_FORM = URL_SERVER_ROOT + '/wuyan-html-backstage/page/form-generator/'
// var URL_FORM = 'http://127.0.0.1:8849/'
// 文件上传地址
var URL_UPLOAD = URL_SERVER_ROOT + '/wuyan/api/upload/'
// 数据导入地址（末尾需要跟踪数据导入主体）
var URL_DATA_IMPORT = URL_SERVER_ROOT + '/psoa/api/import/'
// 数据导出地址（末尾需要跟踪数据导出主体）
var URL_DATA_EXPORT = URL_SERVER_ROOT + '/psoa/api/export/'

// 基础信息配置
var baseConfig = {
	debug: false,
	remoteMenu: false,
	type: {
		// 表单分类父ID
		formParentId: 7,
		// 文章分类父ID
		articleParentId: 23,
	},
	// 表单数据相关
	formData: {
		// 数据状态标识含义
		cfgStatus: {
			'0': '未提交',
			'1': '审核通过',
			'2': '审核中(转接)',
			'3': '驳回',
			'4': '审核中',
		}
	},
	// 角色配置
	role: {
		// 录入员角色组
		'inputer-role': [],
		// 审批员角色组
		'examiner-role': [],
		// 超管配置
		'super-admin': [60]
	}
}

// axios基础配置
var axiosConfig = function(axios) {
	axios.defaults.baseURL = URL_SERVER_ROOT;
	axios.defaults.headers.common['authorization'] = user.token;
	axios.defaults.headers.post['Content-Type'] = 'application/json';

	// 添加请求拦截器
	axios.interceptors.request.use(function(config) {
		if (config.url.endWith('/auth/api/login')) {
			let code = window.sessionStorage.getItem('verifyCodeSecret')
			if (code) {
				config.headers['authorization-code'] = code
			}
		}

		// 在发送请求之前做些什么
		return config;
	}, function(error) {
		// 对请求错误做些什么
		return Promise.reject(error);
	});

	// 添加响应拦截器
	axios.interceptors.response.use(function(response) {
		let data = response.data

		// 保证正常响应并且有数据返回时,处理返回数据,只保留data部分
		if (data && data.code === RES_CODE_SUCCESS) {
			if (response.config.url.endWith('/auth/api/verify/code-base64')) {
				window.sessionStorage.setItem('verifyCodeSecret', data.data.secret)
			}

			return data.data
		} else {
			return Promise.reject(data)
		}
	}, function(error) {
		// 对响应错误做点什么
		return Promise.reject(error)
	});
}

// 用户信息
var user = {
	// 临时授权信息
	token: '',
	// 个人资料，一般登陆时初始化
	info: {
		id: 766,
		nickname: '微信测试',
		img: 'sa-resources/admin-logo.png',
	},
	user: null,
	account: null,
	roles: null,
	apis: null,
	menus: [],
	loginTime: null,
	unLineTime: null,
}

// 模拟账户
var simulatedAccount = {
	'admin': {
		token: '1',
		account: {
			id: 1,
			username: 'admin'
		},
		user: {
			nickname: '测试-管理员',
			img: 'sa-resources/admin-logo.png'
		},
		roles: [1],
	},
	'examiner': {
		token: '2',
		account: {
			id: 2,
			username: 'examiner'
		},
		user: {
			nickname: '测试-审批员',
			img: 'sa-resources/admin-logo.png'
		},
		roles: [2],
	},
	'inputer': {
		token: '3',
		account: {
			id: 3,
			username: 'inputer'
		},
		user: {
			nickname: '测试-录入员',
			img: 'sa-resources/admin-logo.png'
		},
		roles: [3],
	},
}

// 模拟角色
var simulatedRole = {
	1: {
		id: 1,
		name: '管理员',
		menu: 'all'
	},
	2: {
		id: 2,
		name: '审批员',
		menu: ['0-1', '5', '5-1', '5-2', '5-3', '5-4', '5-5',
			'9', '9-1', '9-2', '9-3', '9-4', '9-5',
			'12',
			'14', '14-3', '14-2',
			'10'
		]
	},
	3: {
		id: 3,
		name: '录入员',
		menu: ['0-1', '11', '11-1', '11-2', '11-3', '11-4', '11-5',
			'5', '5-1', '5-2', '5-3', '5-4', '5-5',
			'14', '14-1', '14-2',
			'10'
		]
	},
}
